#include <iostream>
#include <functional>
using namespace std;
typedef function<int(int,int)> func;
class Task
{
public:
    Task()
    {}
    Task(int x,int y,func fun)
    :_x(x)
    ,_y(y)
    ,_func(fun)
    {}
    // Task(const Task& task)
    // {
    //     _x = task._x;
    //     _y = task._y;
    //     _func = task._func;
    // }
    int operator()()
    {
        return _func(_x,_y);
    }
public:
//private:
    int _x;
    int _y;
    func _func;
};